package cliente.pagina.contenido.ExamenAutoexamen.Alumno;

import cliente.pagina.*;
import cliente.pagina.contenido.VistaContenido;
import comun.constantes.*;
import helpers.examenAutoexamen.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoRendirAutoexamen extends VistaContenido {
	HelperExamenAutoexamen helperEA=null;
	
	public ContenidoRendirAutoexamen() {
	}
		
	public ContenidoRendirAutoexamen(Pagina pagina) {
		super(pagina);
		this.setPermisoEscritura(this.getPagina().obtenerPermisoRecurso(this.getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0);
	}
	
	public String getTitulo() {
		return TEXTOS.REALIZAR_AUTOEXAMEN;
	}
	
	public String getNombreRecurso() {
		return RECURSOS.REALIZAR_AUTOEXAMEN;  
	}
	
	protected String getNombrePagina(){
		return "rendir_autoexamen.jsp";
	}
	
	public String getHTMLVista() {
		String html = null;
		helperEA = new HelperExamenAutoexamen(this.getPagina());
		try{
			html="";
			Long idAutoexamen=null;
			Long idExFin=null;
			String idAutoex = this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_AUTOEXAMEN);
			String idExFinaliz = this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_EXFIN);
			String guardarDatos = this.getPagina().getParameter("guardarEx");
			if(idAutoex != null)
				idAutoexamen = new Long(idAutoex);
			if(idExFinaliz != null)
				idExFin = new Long(idExFinaliz);
			if(guardarDatos == null){
				if(helperEA.obtenerPermisoRendir(idAutoexamen,false)){ 
					html+="       <h1>"+this.getTitulo()+"</h1>\n";
					if(idExFin==null)
						idExFin = helperEA.crearExFin(idAutoexamen,false);
					html+=helperEA.getHTMLMostrarExamen(idAutoexamen,idExFin,false,true);
				}else{
					html+="usted no tiene permiso para rendir";
				}
			}else{
				if(guardarDatos.compareTo("SI")==0){
					/*String finaliza = this.getPagina().getParameter("FinalizExamen");
					String permisoEv = this.getPagina().obtenerPermisoRecurso(RECURSOS.EVALUACIONES);
					if (finaliza!=null && finaliza.compareTo(" Enviar ")==0){
						guardarRespuestas(idAutoexamen,idExFin);
						if(permisoEv!=null && permisoEv.compareTo(TIPO_PERMISOS.NINGUNO)!=0){
							//html+="El autoexamen ha concluido.";
							html +=helperEA.getHTMLVolverGestionAlumno();
						}else{
							String pagina =this.getPagina().getPathRaiz()+"siat/index.jsp";
							html+=utils.UtilsGenerarHtml.generarHTMLForward(pagina);
						}	
					}
					//NAHUEL--------------------------------------------------*/
					html+=guardarRespuestas(idAutoexamen,idExFin);
					html +=helperEA.getHTMLVolverGestionAlumno(); 	
				}
			}
			helperEA.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			helperEA.rollback();
			return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
		}
		return html;  
	}
	
	private String guardarRespuestas(Long idAutoexam,Long idExFin)throws Exception{
		HelperExamenAutoexamen helperExA = new HelperExamenAutoexamen(this.getPagina());
		String html = " ";
		try{
			html+=helperExA.guardandofinalAutoex(idAutoexam,idExFin);
			helperExA.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			helperExA.rollback();
			throw ex;
		}
		return html;
	}
	
	protected String getSubcarpetaRecurso() {
		return CARPETAS_ARCHIVOS_RECURSO.EVALUACIONES+"/";
	}
	
	public String getTituloLink() {
		return ">Rindiendo...";
	}
	
	public String getTeclaAccesoRapido() {
		// TODO Auto-generated method stub
		return "";
	}
}